Clustering Algorithm

Clustering adalah sebuah teknik atau algoritma pengelompokkan yang digunakan dalam area unsupervised learning. Berbeda dengan klasifikasi, clustering tidak menggunakan data dengan label yang sudah diketahui. Data dikelompokkan dengan mengkalkulasi tingkat kemiripan (similarity) antar data.

Sumber : Abla Chouni Benabdellah, Asmaa Benghabrit, Imane Bouhaddou, A survey of clustering algorithms for an industrial context, Procedia Computer Science, Volume 148, 2019, Pages 291-302, ISSN 1877-0509

Dataset:

A. EDA

  1. Buatlah EDA untuk fitur recency berdasarkan dataset di atas
  1. Buatlah EDA untuk fitur frequency berdasarkan dataset di atas
  1. Buatlah EDA untuk fitur monetary berdasarkan dataset di atas

B. Melakukan Clustering untuk Market Segmentation dengan Analisis RFM

  1. Lakukan standarisasi data RFM menggunakan z-score

  1. Visualisasikan data dengan boxplot atau scatter plot.
  1. Visualisasikan data dengan boxplot atau scatter plot.(Data yang sudah dinormalisasi sigmoid)

K-Means Algorithm

K-Means algorithm adalah bentuk dari algoritma cluster yang dibuat oleh J.B.MacQueen. Untuk mendapatkan hasil yang optimal, algoritma ini bekerja dengan mencari pembagian-pembagian K yang dapat memenuhi kriteria-kriteria tertentu.

sumber : Youguo Li, Haiyan Wu, A Clustering Method Based on K-Means Algorithm, Physics Procedia, Volume 25, 2012, Pages 1104-1109,ISSN 1875-3892.

K-Means melakukan pengelompokan data berdasarkan jarak terdekat suatu data dengan menggunakan euclidean distance. Cluster center dipilih berdasarkan nilai mean dari hasil random selection terhadap partisi dari dataset. Data akan masuk ke dalam cluster jika data memiliki distance terdekat dengan cluster.

sumber : Preeti Arora, Deepali, Shipra Varshney, Analysis of K-Means and K-Medoids Algorithm For Big Data, Procedia Computer Science, Volume 78, 2016, Pages 507-512, ISSN 1877-0509

  1. Implementasikan k-means (k=4) menggunakan hasil standarisasi data yang telah diperoleh dan gambarkan grafik perbedaan clusternya!
  1. Implementasikan metode elbow dengan jumlah kluster dari k=2 sampai k=10. Visualisasikan grafik metode elbow!
  1. Tentukan nilai k yang paling optimal, jelaskan!

Berdasarkan dari grafik elbow method dengan inertia dan distortion, jumlah k optimal adalah 4 dikarenakan k=4 adalah titik patahan yang terlihat pada line grafik. (Normalized Data)

  1. Lakukan langkah 2 sampai 5 dengan menggunakan menggunakan metode clustering yang anda ketahui (misalnya k-median atau k-means++)!

K-Medoids

Merupakan salah satu clustering model dengan konsep menemukan sebuah medoid dalam cluster yang merupakan titik pusat dari suatu cluster. Metode ini bekerja dengan mencari k sebagai objek representatif untuk meminimalisir jumlah dissimilarties dari data objek.

Sumber : Preeti Arora, Deepali, Shipra Varshney, Analysis of K-Means and K-Medoids Algorithm For Big Data, Procedia Computer Science, Volume 78, 2016, Pages 507-512, ISSN 1877-0509

Elbow Method

Berdasarkan grafik di atas, patahan elbow terletak pada k = 4 yang menandakan k optimal yaitu 4

K-Means ++

Berdasarkan (Arthur & Vassilvitskii, 2007) K-means++ adalah sebuah algoritma untuk memilih nilai awal atau disebut sebagai "seeds". Suatu cara unutk mengindari performa buruk dari clustering standar oleh K-means.

referensi : Bashar Aubaidan et al. / Journal of Computer Science 10 (7): 1197-1206, 2014

Elbow Method

Berdasarkan dari grafik di atas, jumlah k optimal sama dengan versi k-means++ adalah 4 dikarenakan k=4 adalah titik patahan elbow yang terdapat pada line grafik.

C. Performansi Clustering dengan Menghitung Koefisien Silhouette

  1. Lakukan pengukuran performansi menggunakan Silhouette untuk masing-masing k-means dan metode yang anda pilih pada B.6 (ganti 'k-median' dengan metode yang anda pakai). Bandingkan kedua hasil!

  1. Visualisasikan hasil Silhouette k-means dan metode clustering yang anda pakai!
  1. K berapa yang menghasilkan model clustering yang terbaik (Silhouette terbesar)?

Berdasarkan dataframe di atas k = 2 menghasilkan silhoutte terbesar, sehingga k = 2 adalah jumlah optimal untuk melakukan clusterisasi